package org.jeecg.entity.basedata;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.bouncycastle.crypto.tls.SRTPProtectionProfile;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 业主
 * @Author: jeecg-boot
 * @Date:   2019-07-18
 * @Version: V1.0
 */
@Data
@TableName("base_customer")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="base_customer对象", description="业主")
public class BaseCustomer implements Serializable {
    private static final long serialVersionUID = 1L;
	/**id*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "id")
	private String id;
	/**业主姓名*/
	@Excel(name = "name", width = 15)
    @ApiModelProperty(value = "name")
	private String name;
	/**项目id*/
	@Excel(name = "projectId", width = 15)
    @ApiModelProperty(value = "projectId")
	private String projectId;
	/**楼宇id*/
	@Excel(name = "floorId", width = 15)
    @ApiModelProperty(value = "floorId")
	private String floorId;
	/**房间id*/
	@Excel(name = "roomId", width = 15)
    @ApiModelProperty(value = "roomId")
	private String roomId;
	/**decorateDate*/
	@Excel(name = "decorateDate", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "decorateDate")
	private Date decorateDate;
	/**迁入时间*/
	@Excel(name = "迁入时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "迁入时间")
	private Date startDate;
	/**迁出时间*/
	@Excel(name = "endDate", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "endDate")
	private Date endDate;
	/**公司名称*/
	@Excel(name = "company", width = 15)
    @ApiModelProperty(value = "company")
	private String company;
	/**电话*/
	@Excel(name = "电话", width = 15)
    @ApiModelProperty(value = "电话")
	private String telphone;
	/**业主电话*/
	@Excel(name = "业主电话", width = 15)
	@ApiModelProperty(value = "业主电话")
	private String  mobile;

	/**业主编号*/
	@Excel(name = "业主编号", width = 15)
    @ApiModelProperty(value = "业主编号")
	private String idcard;

	/**联系人*/
	@Excel(name = "联系人", width = 15)
    @ApiModelProperty(value = "contactus")
	private String contactus;
	/**房屋类型*/
	@Excel(name = "房屋类型", width = 15)
	@Dict(dicCode = "customer_type")
	@ApiModelProperty(value = "房屋类型（企业，个人）")
	private String customerType;

	@Excel(name = "住户类型", width = 15)
	@Dict(dicCode = "customer_category")
	@ApiModelProperty(value = "住户类型(1.业主,2.同住人,3.租客)")
	private String customerCategory;

	/**房间属性*/
	@Excel(name = "房间属性", width = 15)
	@Dict(dicCode = "customer_attr")
	@ApiModelProperty(value = "房间属性")
	private String customerAttr;
	/**创建人*/
	@Excel(name = "createBy", width = 15)
    @ApiModelProperty(value = "createBy")
	private String createBy;
	/**createDate*/
	@Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createTime")
	private Date createTime;
	/**updateBy*/
	@Excel(name = "updateBy", width = 15)
    @ApiModelProperty(value = "updateBy")
	@Dict(dicCode = "id",dictTable="sys_user",dicText="realname")
	private String updateBy;
	/**updateDate*/
	@Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime")
	private Date updateTime;
	/**delFlag*/
	@Excel(name = "delFlag", width = 15)
    @ApiModelProperty(value = "delFlag")
	private String delFlag;
	/**remarks*/
	@Excel(name = "remarks", width = 15)
    @ApiModelProperty(value = "remarks")
	private String remarks;
	/**开始收费时间*/
	@Excel(name = "开始收费时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "开始收费时间")
	private Date chargeTime;
	/**说明*/
	@Excel(name = "说明", width = 15)
    @ApiModelProperty(value = "说明")
	private Object explainyy;
	/**房间编号code*/
	@Excel(name = "房间编号", width = 15)
	@ApiModelProperty(value = "房间编号")
	private String roomCode;
	/**变更日期*/
	@Excel(name = "变更日期", width = 15)
    @ApiModelProperty(value = "变更日期")
	private String changeTime;

	@TableField(exist = false)
	private String floorName;

	@TableField(exist = false)
	private String projectName;

	@TableField(exist = false)
	private String roomName;

	@TableField(exist = false)
	private String methodName;
}
